草庐IT

c++ tcp多线程

全部标签

java - Jnetpcap,准备UDP/TCP/IP/ICMP数据包

最近,我正在使用Jnetpcap通过网络发送/接收原始数据包。Jnetpcap提供通过Pcap.sendPacket()发送数据包。此方法获取要发送的原始缓冲区或字节。另一方面,org.jnetpcap.protocol.*类包装了协议(protocol)头,我们可以使用它们来解码捕获的数据包。当我使用下面的代码制作一个Ip4数据包时,它会导致NullPointerException:importorg.jnetpcap.protocol.network.Ip4;publicclassTest{publicstaticvoidmain(String[]args){Ip4ip4=newI

java - 如何通知 PipedInputStream 线程 PipedOutputStream 线程已写入最后一个字节?

如何正确完成管道输出端的工作?我需要写入线程终止或做一些其他工作,而读取线程读取所有写入数据直到结束。我应该在写入端关闭管道还是什么?更新1我想澄清一下......根据给定的答案,我认为设计管道行为不假设任何优雅终止是否正确?即一旦打开,停止管道的唯一方法就是打破管道?当read()方法返回-1时,传统流期望流信号结束。认为管道流永远不会发生这种情况是正确的吗? 最佳答案 是的,关闭PipedOutputStream会导致PipedInputStream出现-1。我觉得很优雅!这是我的SSCCE:importjava.io.*;im

java - Find out if the calling thread is the SWT UI thread - 确定调用线程

我有这个模块用于应用程序COMM的多个部分(在SWTUi端、后端等)。这个模块有一个sendMessage方法,我想在其中添加一个例程来确定调用线程(只是为了在UI中使用它)是SWTUI线程。并警告程序员,他正在尝试从UI线程执行耗时的操作……这很糟糕:)当然,我想通过不在UI模块(来自COMM)上添加任何依赖项来做到这一点。如何确定调用线程是否是SWTUI线程?谢谢,米尔恰 最佳答案 您可以调用Display.getThread()来获取应用程序的当前UI线程。如果您不想依赖SWTUI,那么您将不得不使用反射。例如:publics

单独的线程锁父级中的 Java JDBC 查询

我在理解这一点时遇到了一些困难。这是正在发生的事情。我正在生成一个新线程,该线程保持与Oracle数据库的JDBC连接。当我要求它连接到数据库时,父线程在调用start()方法时保持运行,但是当我要求子线程执行查询(在单独的方法上)时,父线程卡住等待子线程的完成其工作的方法。关于如何解决这个问题的任何猜测?提前致谢!publicclassMainextendsThread{publicMain(){}publicvoidmyCounter(){inti=0;DBConnectionmyConnection=null;for(;;){i++;System.out.println("tim

java - unmodifiableList 线程安全吗?

我有一个字符串列表(tagList)需要在多个线程之间共享以供读取,所以我创建了一个不可修改的版本并将其传递给线程,我不确定它是否线程安全,因为线程只读取该列表所以我想应该没问题吧?另外,当我将那个不可修改的列表传递给线程时,它是传递一个副本并由线程共享,还是创建多个副本并将一个副本传递给每个线程?这是我的代码:finalListtList=Collections.unmodifiableList(tagList);List>calls=newArrayList>();FileStatus[]fsta=_fileSystem.listStatus(p);for(FileStatusst

java - 如何用多线程扫描目录

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我有一个单线程的目录扫描程序。扫描文件时,我必须读取属性信息并将其插入数据库。我有两个问题。为了提高性能:如何使用多线程进行扫描?(扫描安卓手机的sd卡​​)如何优化批量插入数据库?下面是代码list:voidscan(){Filefile=newFile("/mnt/sdcard");fun(file);}voidfun(Filefile){if(!fi

java - 一个 CPU 上一次可以运行多少个线程

我想知道单个应用程序在一个CPU上可以同时运行多少个线程?我喜欢一个简单的:importjava.awt.SystemColor;importjava.util.Date;publicclassThreadcall{/***@paramargsthecommandlinearguments*/publicstaticvoidmain(String[]args){//TODOcodeapplicationlogichereSystem.out.println("--------------------------");System.out.println(Runtime.getRunti

java - 无法为当前线程获取事务同步 session

从xml-转换为Java-Config的Spring4/Hibernate4项目出现以下异常。org.hibernate.HibernateException:Couldnotobtaintransaction-synchronizedSessionforcurrentthread该项目在Eclipse中启动时没有错误,但在第一次请求时出现异常。在我的ConfigRoot类中,我为DataSource、SessionFactory、HibernateTransactionManager配置了@Bean>,改进的命名策略。我所有的@Service服务都带有@Transactional注释

java - JAVA中如何使静态方法线程安全?

我正在创建Web应用程序并遇到线程安全问题。在阅读了几个类似的问题后,我仍然对我的情况感到困惑。我正在使用javaspring框架来设置RESTweb服务。所有请求(Person对象的JSON)都将传递给checkIfGoodName函数,如Checker.checkIfGoodName(person)。它们都是静态方法调用。我想知道,这个函数Checker.checkIfGoodName线程安全吗?如果不是,如何修改代码?我有如下代码:检查器.javapublicclassChecker{publicstaticvoidcheckIfGoodName(Personperson){ch

java - lwjgl 3、如何获取当前线程中的OpenGL上下文?

我在LWJGL3中使用OpenGL,但出现以下错误;Exceptioninthread"main"java.lang.IllegalStateException:ThereisnoOpenGLcontextcurrentinthecurrentthread.atorg.lwjgl.opengl.GL.getCapabilities(GL.java:157)atorg.lwjgl.opengl.GL11.getInstance(GL11.java:1390)atorg.lwjgl.opengl.GL11.glClearColor(GL11.java:1842)atcom.base.eng